package cn.px.service.store;

import cn.px.common.bean.AbstractPageResultBean;
import cn.px.dao.dto.store.TransferStoreFormDTO;
import cn.px.dao.entity.store.TransferStoreForm;
import cn.px.dao.vo.query.store.TransferStoreFormVO;
import cn.px.service.base.IBaseService;

import java.util.List;

/**
 * @Description 出库登记单 service
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
public interface TransferStoreFormService extends IBaseService<TransferStoreForm, TransferStoreFormDTO> {

   /**
    * 批量删除
    *
    * @param ids ：
    * @return ：
    */
    int batchDelete(List<String> ids);

   /**
    * 级联删除
    * 删除出库单与出库详情，同时要更新库存
    *
    * @param id ：
    * @return ：
    */
    boolean cascadingDeleteByKey(String id);

    /**
     * 分页查询
     * @param record
     * @param pageNum
     * @param pageSize
     * @return
     */
    AbstractPageResultBean<TransferStoreFormVO> selectPageList(TransferStoreFormDTO record, int pageNum, int pageSize);

    /**
     * 查看详情
     * @param id
     * @return
     */
    TransferStoreFormVO getDetail(Object id);

    public void updateModelByDTO(TransferStoreFormDTO model) ;

    public void updateStore(String outStoreFormId);

    void saveModelByDTOImp(TransferStoreFormDTO form);
}
